草庐IT

Java Quartz 作业持久化

全部标签

java - 如何在不在 libjars 中编写完整类路径的情况下在 scalding/hadoop 作业中运行 slim jar

有没有一种方法可以在不使用libjars和明确以逗号分隔编写每个jar的情况下运行需要类路径的scalding作业。我想把我所有的jar放在一个库中,而不是只写-libjars=./lib/*而不是所有的jar。有经典的方法吗??使用烫金版scalding-core_2.100.8.5hadoop版本2.0.0-cdh4.5.0附言我正在使用maven来打包jar和lib 最佳答案 您应该创建一个“fatjar”,其中包含您将使用libjars添加的依赖项以及主类。可以在一个jar中查看带有Scalding和依赖项的sbt项目的具体

caching - 如何在 hadoop map reduce 作业中有效地缓存大文件?

我的工作流程如下:我正在处理大量数据。我有一个需要缓存的MapFile。此文件的大小现在为1GB,但我希望它最终会变大。MapFile的内容应该是这样的:12345,45464192.34.23.133214,45321123.45.32.1在map-phase中,我处理来自TextInputFormat格式的输入文件中的每条记录。我解析该行(按标记拆分)并检索前两个标记,token1和token2。如果(token1,token2)对不在缓存文件中,那么我调用API,获取信息,保存在缓存中(如果可能)并继续处理。privateParserparser=newcustomParser(

hadoop - 通过 Oozie HDP 2.1 的作业不创建 job.splitmetainfo

当尝试执行一个sqoop作业时,我的Hadoop程序在-jarFiles参数中作为jar文件传递​​,执行失败并出现以下错误。似乎没有任何解决方案。具有相同Hadoop用户的其他作业正在成功执行。org.apache.hadoop.yarn.exceptions.YarnRuntimeException:java.io.FileNotFoundException:Filedoesnotexist:hdfs://sandbox.hortonworks.com:8020/user/root/.staging/job_1423050964699_0003/job.splitmetainfoa

design-patterns - 设计 MapReduce 作业以找到低于给定阈值的最大值

查询:我正在尝试设计一个查询以查找给定日期网页的实时版本。date作为运行时参数传递。映射器的输入是以下键->值对:webpage_id->revision_id和revision_timestamp。对于每个webpage_id,作业必须输出在给定日期。当前设计:映射器将在阈值日期之后丢弃任何带有revision_timestamp的记录,并输出所有其他记录。然后,组合器会对给定网页的所有修订进行排序,并仅输出最新的(这是通过使用内部数据结构并在组合器的清理阶段发出键值对来完成的)。reducer会做与combiner相同的事情,但在combiner的输出上。想法:我想进一步优化作业

hadoop - 即使节点有可用内存,Yarn 作业也会崩溃,退出代码为 143

我的maptask超时,退出代码为143,我认为这是内存问题。据我了解,根据我的设置,每个容器将接收3gb内存,其中2.5gb将分配给java堆。当我在yarnWebUI上检查内存可用性时,我看到MemUsed从未通过MemAvail但我的工作在600秒后超时。这会不会是因为我的工作使用了过多的Java堆并崩溃了?mapreduce.map.memory.mb3072mapreduce.map.java.opts-Xmx2560M 最佳答案 你的映射器正在执行一些需要超过600秒的任务,节点管理器认为它已经死了,因此将它杀死。请在执

hadoop - Oozie 作业卡在运行状态

我有一个简单的作业工作流程,它将mapreduce作业作为shell操作执行。提交作业后,它的状态变为正在运行,并且一直停留在那里但永远不会结束。mapreduce集群显示有两个作业在运行,一个属于shell应用程序启动器,另一个用于实际的mapreduce作业。然而,mapreduce作业显示为UNASSIGNED,进度为零(这意味着它已经开始)。有趣的是,当我终止oozie作业时,mapreduce作业实际上开始运行并成功完成。看起来shell启动器正在阻止它。附注这是一个简单的工作流程,没有可能导致等待的开始或结束日期。 最佳答案

hadoop - Hbase 批量加载 - Map Reduce 作业失败

我有用于hbase批量加载的mapreduce作业。作业正在将数据转换为Hfiles并加载到hbase中,但在某些map%作业失败后。下面是我得到的异常(exception)。Error:java.io.FileNotFoundException:/var/mapr/local/tm4/mapred/nodeManager/spill/job_1433110149357_0005/attempt_1433110149357_0005_m_000000_0/spill83.out.indexatorg.apache.hadoop.fs.RawLocalFileSystem.open(Ra

hadoop - 从 ResourceManager GUI 访问终止的 Spark 作业日志

我在YARN上运行Spark应用程序,当我使用以下方法终止作业时:yarnapplicationkill-applicationIdapplication_XYZ我无法从HadoopGUI(ResourceManager)转到被杀死的应用程序的SparkJobGUI。当我直接打开Spark历史服务器并尝试显示不完整的应用程序应用程序日志时,它起作用了。当作业完成(未终止)时,日志可以这样显示:HadoopGUI->Sparkhistoryserver。我正在使用YARN日志聚合服务来聚合日志。另外,我可以使用以下方法访问应用程序日志:yarnlogs-applicationIdappl

rest - 通过 rest api 运行 MapReduce 作业

我使用hadoop2.7.1的restapi在集群外运行mapreduce作业。这个例子“http://hadoop-forum.org/forum/general-hadoop-discussion/miscellaneous/2136-how-can-i-run-mapreduce-job-by-rest-api”真的帮助了我。但是当我提交帖子回复时,一些奇怪的事情发生了:我查看“http://master:8088/cluster/apps”,帖子响应产生两个作业,如下图所示:strangethings:aresponseproducestwojobs等待很长时间后,我在http

hadoop - nutch 1.10 作业失败,错误请求错误索引到 solr 5.3.1

我在测试环境中组装了一个爬虫,该爬虫在2个小网站上运行良好,包括成功索引到solr。因此,nutch和solr之间的集成似乎很好。我所做的唯一更改是向seed.txt添加另一个站点,并在regex-urlfilters.txt中添加另一行,使用与其他站点完全相同的语法。现在,当我运行爬虫时,它可以正常运行一段时间,然后崩溃并显示“作业失败!”错误和有用的信息很少。这是控制台的输出。值得注意的是,这是在爬网中创建的第3个段,因此在错误发生之前它已经成功索引了2个段。新站点中是否存在导致损坏的内容?Indexing20151030150906toindex/opt/apache-nutch